package message

type ReptileReq struct {
	Method   string `json:"method"`
	URL      string `json:"url"`
	Function string `json:"function"`

	Limit  int64 `json:"limit"`
	Offset int64 `json:"offset"`
	//SongID int64 `json:"song_id"`
}

type ReptileResp struct {
	HttpStatus int    `json:"http_status"`
	Status     int    `json:"status"`
	Result     string `json:"result"`

	// 网易云音乐
	//Limit  int64 `json:"limit"`
	//Offset int64 `json:"offset"`
	//SongID int64 `json:"song_id"`
	Total       bool    `json:"total"`
	NextPageUrl *string `json:"next_page_url"`

	Song         *Song               `json:"song"`
	ParserResult *[]BriefInformation `json:"parser_result"`
}

type ReptileResult struct {
	ReptileReq
	ReptileResp
}

type BriefInformation struct {
	Title string `json:"title"`

	DataID       string `gorm:"unique;size:128" json:"data_id"`
	URL          string `gorm:"unique;size:128" json:"url"`
	Introduction string `json:"introduction"`

	*BriefInformation163

	Comment *Comment
}

type BriefInformation163 struct {
	Title      string `json:"title"`
	URL        string `gorm:"unique;size:128" json:"docurl"`
	CommentUrl string `gorm:"unique;size:128" json:"commenturl"`
	Label      string `json:"label"` // 发布者
	Time       string `json:"time"`
	NewsType   string `json:"newstype"`
	ImgUrl     string `json:"imgurl"`
}

type Song struct {
	AppID       string   `json:"appid"`
	SongID      string   `json:"song_id"`
	Title       string   `json:"title"`
	Images      []string `json:"images"`
	Description string   `json:"description"`
	PubDate     string   `json:"pubDate"`
}

type Comment struct {
	User struct {
		Nickname  string `json:"nickname"`
		UserID    int    `json:"userId"`
		AvatarURL string `json:"avatarUrl"`
	} `json:"user"`
	CommentID int    `json:"commentId"`
	Content   string `json:"content"`
	Time      int64  `json:"time"`
}

type NetEasyMusicComment struct {
	MoreHot     bool      `json:"moreHot"`
	HotComments []Comment `json:"hotComments"`
	Code        int       `json:"code"`
	Comments    []Comment `json:"comments"`
	Total       int       `json:"total"`
	More        bool      `json:"more"`
}
